<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    /* 装饰盒子宽高和颜色 */
    .box {
      width: 400px;
      /*整个盒子只需要一个下边框*/
      border-bottom: 1px solid #ccc;
      /* margin:100px指的是四面盒子与盒子的距离都是100px   用auto可以让盒子水平居中*/
      margin: 100px auto;
      /*子绝父相*/
      position: relative;
    }

    /*设置密码框的宽度和长度*/
    .box input {
      width: 370px;
      height: 30px;
      /*密码框不需要颜色*/
      border: 0;
      /*清楚密码框的外轮廓*/
      outline: none;
    }

    .box img {
      width: 24px;
      position: absolute;
      top: 3px;
      right: 2px;
    }
  </style>

</head>

<body>
  <!-- 写一个盒子装 -->
  <div class="box">
    <!-- 写一个label标签放眼睛 -->
    <label for="">
      <img src="img/close_eye.webp" alt="" id="eye">
    </label>
    <!-- 写一个密码框 -->
    <input type="password" id="pwd">
  </div>

  <script>
    //1.获取元素
    var eye = document.getElementById('eye');
    var pwd = document.getElementById('pwd');
    //2 .点击闭眼就执行装换闭眼图片成开眼图片
    //2.点击闭眼把密码框转换为文本框
    var r = 0
    eye.onclick = function () {
      /*算法:利用一个flag变量,来判断flag值,如果是1就切换为文本框,flag设置为0,如果是0就为密码框,flag设置为1*/
      //flag为0表示发生了变化,flag为1表示没有发生变化
      if (r == 0) {
        pwd.type = 'text';
        //更改眼睛的图片
        eye.src = 'img/open_eye.webp'
        //如果r=0,就执行if后面的值,重新赋值为1,这样再次判断的时候由于r=1就会执行else后面的内容
        r = 1;
      } else {
        pwd.type = 'password';
        //更改眼睛的图片
        eye.src = 'img/close_eye.webp'
        //如果r=1,就执行else,else执行完重新给r赋值为1,这样它再判断的时候就是执行if后面的内容
        r = 0;
      }
    }
  </script>
</body>

</html>